לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע. פעולה בונה היוצרת לוח מבחנים )ריק(. void Add (Test t)

Size: px
Start display at page:

Download "לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע. פעולה בונה היוצרת לוח מבחנים )ריק(. void Add (Test t)"

Transcription

1 1 לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע 1. המחלקה מבחן Test מגדירה מבחן לפי תרשים uml הבא: להלן ממשק המחלקה Test תיאור הפעולה פעולה בונה היוצרת מבחן במקצוע subject ובתאריך date פעולה המחזירה מקצוע המבחן פעולה המחזירה את תאריך המבחן פעולה המשנה את מקצוע המבחן ל- subject פעולה המשנה את תאריך המבחן ל- date פעולה המחזירה אמת אם המבחן הנוכחי מתקיים באותו יום כמו המבחן שהתקבל כפרמטר ושקר אחרת פעולה המחזירה אמת אם המבחן הנוכחי זהה למבחן שהתקבל כפרמטר ושקר אחרת פעולה המחזירה מחרוזת המתארת את מצב המבחן כתבו את המחלקות Date ו-.Test כותרת הפעולה Test (string subject, Date date) string GetSubject () Date GetDate () void SetSubject (string subject) void SetDate (Date date) bool SameDate (Test t) bool Equals (Test t) string ToString () 2. המחלקה לוח מבחנים TestTable מגדירה אוסף של מבחנים. המבחנים שמורים במערך ויש בו לכל היותר 20 מבחנים. א. כתוב את כותרת המחלקה ואת תכונותיה. תכונות המחלקה: מערך של מבחנים, קבוע המציין את גודל המערך, lasttest המציין מהו מספר המבחנים שקיימים במערך בפועל. להלן ממשק המחלקה :TestTable כותרת הפעולה תיאור הפעולה TestTable () פעולה בונה היוצרת לוח מבחנים )ריק(. void Add (Test t) פעולה המוסיפה מבחן t ללוח המבחנים. הנחה: יש מספיק מקום בלוח המבחנים ואין מבחן באותו תאריך. bool IsEmpty () פעולה המחזירה אמת אם לוח המבחנים ריק ושקר אחרת

2 2 Test GetTest (string subject) Test GetTest (Date date) Test Remove (string subject) Test Remove (Date date) string ToString () פעולה המחזירה הפנייה למבחן הראשון בלוח המבחנים במקצוע subject פעולה המחזירה הפנייה למבחן הראשון בלוח המבחנים בתאריך date פעולה המוחקת את המבחן שראשון בלוח המבחנים, במקצוע subject הפעולה מחזירה הפנייה למבחן שנמחק מהלוח. פעולה המוחקת את המבחן שראשון בלוח המבחנים, בתאריך date הפעולה מחזירה הפנייה למבחן שנמחק מהלוח. פעולה המחזירה מחרוזת המתארת את מצב לוח המבחנים כתוב תכנית היוצרת לוח מבחנים. הוסף ללוח 5-7 מבחנים. הצג את לוח המבחנים. הוחלט להחליף בין התאריכים של המבחנים במתמטיקה ובספרות. החלף את המבחנים בלוח והצג את הלוח החדש. קלוט תאריך ובדוק איזה מבחן מתקיים בתאריך זה. )הצג את המבחן - מקצוע + תאריך(..3 הוסף למחלקה לוח מבחנים פעולה בשם: הוסף מבחן בצורה ממויינת (t InsertSorted(Test המקבלת מבחן t ומוסיפה אותו ללוח המבחנים הממוין בצורה ממוינת לפי תאריך הבחינה..4 הערות: שים לב שמעבר לפעולות הממשק המובאות, יתכן ותצטרך להוסיף למחלקות השונות פעולות נוספות, כמו למשל פעולה בוליאנית: Equals(date) המשווה שני תאריכים או Equals(test) לשני מבחנים. להוספת מבחן בצורה ממוינת נוסיף את הפעולה הבוליאנית Before(date) אמת אם התאריך הנוכחי מוקדם לתאריך שהתקבל ושקר אחרת. למחלקה תאריך, שתחזיר

3 3 Date /** - Date * תאריך המחלקה */ public class Date המחלקה ---// --- תכונות day; private int יום // חודש // month; private int year; private int שנה // המחלקה --- תכונה של המחלקה ---// public static int count = 0; מונה מספר העצמים מסוג תאריך // --- פעולות בונות ---// --- בנאי מחדל --- // public Date() this.day = 1; this.month = 1; this.year = 1980; count++; --- בנאי המקבל יום חודש ושנה --- // public Date(int day, int month, int year) this.day = day; this.month = month; this.year = year; Date.count++; --- פעולה בונה מעתיקה / בנאי מעתיק --- // public Date(Date d) this.day = d.day; this.month = d.month; this.year = d.year; Date.count++; --- פעולות מאחזרות לכל תכונה --- Get // --- פעולה המחזירה את היום הנוכחי --- // public int GetDay() return this.day; --- פעולה המחזירה את החודש הנוכחי ---// public int GetMonth() return this.month;

4 4 --- פעולה המחזירה את השנה הנוכחית ---// public int GetYear() return this.year; --- פעולת עדכון לכל תכונה ---// set --- פעולה המשנה את היום הנוכחי ל - day ---// public void SetDay(int day) this.day = day; --- פעולה המשנה את החודש הנוכחי ל - month ---// public void SetMonth(int month) this.month = month; --- פעולה המשנה את השנה הנוכחית ל - year ---// public void SetYear(int year) this.year = year; את מצב התאריך הנוכחי כמחרוזת --- // המחזירה --- את פעולה public string ToString() return this.day + "-" + this.month + "-" + this.year; --- פעולה המחזירה אמת אם התאריכים זהים ושקר אחרת ---// public bool Equals (Date d) return this.day == d.day && this.month == d.month && this.year == d.year; ---פעולה המחזירה אמת אם התאריך הנוכחי ---// --- בא לפני התאריך שהתקבל ושקר אחרת ---// public bool Before (Date d) if (this.year < d.year) return true; if (this.year > d.year) return false; if (this.month < d.month) return true; if (this.month > d.month) return false; if (this.day < d.day) return true; return false;

5 5 /** המחלקה מבחן * Test */ public class Test --- תכונות המחלקה ---// private string subject; private Date date; המחלקה Test מקצוע הבחינה // תאריך הבחינה // --- פעולה בונה ---// public Test(string subject, Date date) this.subject = subject; הפעלת הבנאי המעתיק של this.date = new Date(date); // Date public string GetSubject() return this.subject; public Date GetDate() return this.date; public void SetDate(Date date) this.date = date; public void SetSubject(string subject) this.subject = subject; פעולות מאחזרות לכל תכונה פעולות מעדכנות לכל תכונה --- האם שני המבחנים מתקיימים באותו יום? ---// public bool samedate(test t) return this.date.equals(t.date); --- פעולה המחזירה את מצב המבחן הנוכחי ---// public string ToString() string str = "subject: " + this.subject; str += "\t date: " + this.date.tostring(); return str;

6 6 לוח המבחנים במימוש מערך TestTable final int SIZE = 20 Test [] arr int last המחלקות בפרויקט: /* המחלקה לוח מבחנים - TestTable * */ public class TestTable מערך המבחנים // arr; private Test [] קבוע המגדיר את מספר המבחנים המרבי // 20; = SIZE public const int מספר המבחנים הקיימים בפועל // last; private int --- פעולה בונה היוצרת לוח מבחנים ריק ---// public TestTable() this.arr = new Test[SIZE]; this.last = 0; --- הוספת מבחן ללוח המבחנים ---// --- הנחה : יש מספיק מקום בלוח המבחנים ---// public void Add (Test t) this.arr[this.last] = t; this.last ++; מבחן ללוח המבחנים ממוין לפי תאריך הבחינה ---// --- הוספת public void InsertSorted (Test t) מציאת המקום המתאים ---// שלב int i = 0; while (i < this.last && this.arr[i].getdate().before(t.getdate())) i++ ; הזזת המבחנים ופינוי מקום למבחן החדש ---// שלב for (int j = this.last ; j > i ; j--) this.arr[j] = this.arr[j-1]; הכנסת המבחן למקום שהתפנה והגדלת ---// last שלב this.arr[i] = t; this.last ++; --- פעולה המחזירה אמת אם לוח המבחנים ריק ושקר אחרת ---// public bool IsEmpty() return this.last == 0;

7 7 --- פעולה המחזירה הפנייה למבחן לפי שם המבחן ---// public Test GetTest (string subject) int i = 0; while (i < this.last &&! this.arr[i].getsubject().equals(subject)) i++; אם המבחן לא נמצא יוחזר return this.arr[i]; // null --- פעולה המחזירה הפנייה למבחן לפי תאריך המבחן ---// public Test GetTest (Date d) int i = 0; while (i < this.last &&! this.arr[i].getdate().equals(d)) i++; אם המבחן לא נמצא יוחזר return this.arr[i]; // null --- פעולה המוציאה ומחזירה את המבחן הראשון במקצוע הנתון ---// public Test Remove (string subject) --- שלב - 1 איתור המבחן שיש להסיר ---// int i = 0; while (i < this.last &&! this.arr[i].getsubject().equals(subject)) i++; this.last) if (i == // המבחן לא נמצא בלוח return null ; השמת הפנייה למבחן ---// שלב Test t = this.arr[i]; --- שלב - 3 הסרת המבחן מהלוח ---// this.last -- ; // יפנה למבחן האחרון last העברת המבחן האחרון למקום שהתפנה // this.arr[this.last]; this.arr[i] = this.arr[this.last] = null; השמת null בתא האחרון שהתפנה // החזרת הפנייה למבחן שהוסר מלוח המבחנים ---// שלב return t; --- פעולה המוציאה ומחזירה את המבחן הראשון בתאריך הנתון ---// public Test Remove (Date d) int i = 0; while (i < this.last &&! this.arr[i].getdate().equals(d)) i++; this.last) if (i == // המבחן לא נמצא בלוח return null ; השמת הפנייה למבחן // this.arr[i]; Test t = this.last -- ; // האחרון למבחן יפנה last העברת המבחן האחרון למקום שהתפנה // this.arr[this.last]; this.arr[i] = this.arr[this.last] = null; השמת null בתא האחרון שהתפנה // return t;

8 8 --- פעולה המחזירה מחרוזת המתארת את מצב לוח המבחנים ---// public string ToString() string str = ""; for (int i = 0 ; i < this.last ; i++) str += this.arr[i].tostring() + "\n"; return str;

9 9 המחלקות בפרויקט: לוח המבחנים במימוש שרשרת חוליות TestTable Node<Test> table Node<T> T value Node<T> next /* החוליה הגנרית <T> * Node */ public class Node<T> private T value; private Node<T> next; public Node(T value) this.value = value; this.next = null; public Node(T value, Node<T> next) this.value = value; this.next = next; public T GetValue() return value; public Node<T> GetNext() return next; public bool HasNext () return this.next!= null; public void SetValue(T value) this.value = value; public void SetNext(Node<T> next) this.next = next; public string ToString() return this.value.tostring();

10 10 /* * המחלקה לוח מבחנים - TestTable */ public class TestTable table; private Node <Test> // הפנייה למבחן הראשון בלוח המבחנים --- פעולה בונה היוצרת לוח מבחנים ריק ---// public TestTable() this.table = null; --- הוספת מבחן ללוח המבחנים ---// public void Add (Test t) this.table = new Node<Test>(t, this.table); --- הוספת מבחן ללוח המבחנים ממוין לפי תאריך הבחינה ---// public void InsertSorted (Test t) --- מציאת המקום המתאים ושמירת המקום הקודם לו ב- prev ---// Node<Test> pos = this.table; Node<Test> prev = null; while (pos!= null && pos.getvalue().getdate().before(t.getdate())) prev = pos; pos = pos.getnext() ; --- יצירת חוליה למבחן החדש ---// Node<Test>temp = new Node<Test> (t, pos); יש להכניס את המבחן החדש בהתחלה ---// --- האם גם למצב שבו לוח המבחנים ריק וזהו המבחן הראשון ( ---// --- (נכון if (prev == null) this.table = temp; else prev.setnext(temp); המבחן באמצע או בסוף ---// --- הכנסת --- פעולה המחזירה אמת אם לוח המבחנים ריק ושקר אחרת ---// public bool IsEmpty() return this.table == null; --- פעולה המחזירה הפנייה למבחן לפי שם המבחן ---// public Test GetTest (string subject) Node<Test> p = this.table; while (p!= null &&! p.getvalue().getsubject().equals(subject)) p = p.getnext(); if (p!= null) אם המבחן לא נמצא יוחזר return p.getvalue(); // null return null;

11 פעולה המחזירה הפנייה למבחן לפי תאריך המבחן ---// public Test GetTest (Date d) Node<Test> p = this.table; while (p!= null &&! p.getvalue().getdate().equals(d)) p = p.getnext(); if (p!= null) אם המבחן לא נמצא יוחזר return p.getvalue(); // null return null; --- פעולה המוציאה ומחזירה את המבחן הראשון במקצוע הנתון ---// public Test Remove (string subject) Node<Test> p = this.table; Node <Test> prev = null; while (p!= null &&! p.getvalue().getsubject().equals(subject)) prev = p; p = p.getnext(); --- המבחן לא נמצא ---// if (p == null) return null; --- המבחן ראשון בשרשרת ---// if (prev == null) this.table = p; else prev.setnext(p); // עדכון הקודם למבחן p.setnext(null); // ניתוק מהבחן מהשרשרת return p.getvalue(); --- פעולה המוציאה ומחזירה את המבחן הראשון בתאריך הנתון ---// public Test Remove (Date d) Node<Test> p = this.table; Node <Test> prev = null; while (p!= null &&! p.getvalue().getdate().equals(d)) prev = p; p = p.getnext(); --- המבחן לא נמצא ---// if (p == null) return null; --- המבחן ראשון בשרשרת ---// if (prev == null) this.table = p; else prev.setnext(p); // עדכון הקודם למבחן p.setnext(null); // ניתוק מהבחן מהשרשרת return p.getvalue();

12 פעולה המחזירה מחרוזת המתארת את מצב לוח המבחנים ---// public string ToString() string str = ""; int i = 1; Node<Test> p = this.table; while (p!= null) str += "test" + i + ": " + p.getvalue().tostring() + "\n"; i++; p = p.getnext(); return str;

13 13 התכנית שימו לב! התכנית אינה משתנה כשמשתנה האוסף ממערך לשרשרת חוליות public class ChkTestTable public static void Main(string [] args) TestTable(); TestTable tt1 = new // הלוח הלא ממוין TestTable(); TestTable tt2 = new // הלוח הממוין for (int i = 0 ; i < 7 ; i++) Test t = GetTest(); tt1.add(t); tt2.insertsorted(t); Console.WriteLine("Test Table"); Console.WriteLine ("~~~~~~~~~~"); Console.WriteLine (tt1.tostring()); Console.WriteLine (); Console.WriteLine ("Sorted Test Table"); Console.WriteLine ("~~~~~~~~~~~~~~~~~"); Console.WriteLine (tt2.tostring()); Console.WriteLine (); --- פעולה המחזירה מבחן ---// static Random rnd = new Random(); static string [] subarr = "Math", "Litriture", "CS", "History", "Physics", "English"; public static Test GetTest() Date date = GetDate(); int sb = rnd.next (subarr.length); return new Test (subarr[sb], date); --- תאריך המחזירה פעולה ---// static int [] yeararr = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; public static Date GetDate() הגרלת חודש // (12); rnd.next int m = אם החודש הוא יוני, יולי או אוגוסט // 8) < m while (m > 4 && )שבו אין מבחנים(, הגרל חודש חדש // ;(12) rnd.next m = (yeararr[m])+1; int d = rnd.next // יום בחודש הגרלת int y; if (m < 8) // 5) < (m if גם ואפשר y = 2016; else y = 2015; return new Date (d, m+1, y);

14 14 פלט התכנית Test Table ~~~~~~~~~~ test1: subject: Math date: test2: subject: English date: test3: subject: Physics date: test4: subject: Litriture date: test5: subject: CS date: test6: subject: English date: test7: subject: CS date: Sorted Test Table ~~~~~~~~~~~~~~~~~ test1: subject: Litriture date: test2: subject: English date: test3: subject: Physics date: test4: subject: CS date: test5: subject: Math date: test6: subject: CS date: test7: subject: English date:

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num) 1 תבנית צבירה תבניות אלגוריתמיות לפעולות רקורסיביות תבנית צבירה לסדרת ערכים: סכום (סדרת ערכים) החזר את ערך הקצה + סכום (סדרת הערכים ללא ערך הקצה) דוגמא: פעולה המחזירה את סכום הספרות שבמספר שלם לא שלילי

More information

Java פעולות עוברות בירושה סביבת יסודות מדעי המחשב נספח הורשה

Java פעולות עוברות בירושה סביבת יסודות מדעי המחשב נספח הורשה 1 נספח הורשה פעולות עוברות בירושה.1 הפעולה ToString המחלקה קלף Card נכתוב את המחלקה המגדירה עצם מסוג קלף. תכונות המחלקה: מחרוזת המתארת את צורת הקלף )תלתן, מעוין, לב, עלה( מספר שלם בתחום 13-1 )כולל( המהווה

More information

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator מבוא למדעי המחשב 2017 תרגול 8 רשימה משורשרת כללית, Comparator בתרגול היום. LinkedList בניית ההכללה מ- LinkIntList תרגול המבנה ושימושיו ממשקים: Comparator Sorted Linked List ל- LinkedList ע"י שימוש ב- Comparator

More information

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch 1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות שאלה פרק א :1 m a b k k b x I x > a II x < b פלט I && II 0 8 12 8 4 1 9 11 2 10 11 9 8 2 12 35 13 העמודות המסומנות בכחול אינן עמודות חובה בפתרון. שאלה 2:

More information

תור שימושים בעולם התוכנה

תור שימושים בעולם התוכנה מבוא למדעי המחשב הרצאה : Queue, Iterator & Iterable תור מבנה נתונים אבסטרקטי תור שימושים בעולם התוכנה השימושים של תורים בעולם התוכנה מזכירים מאוד תורים במציאות: )VoIP( )YouTube( מקלדת שידור סרט באינטרנט

More information

else if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo()

else if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo() class BigBrother רשימה מועמדים לתחרות // candidates; private List publc void MakeVote(String name) הפעולה מקבלת שם, מוצאת את המתמודד ומוסיף לו הצבעה אחת // Node p = candidates.getfirst();

More information

Exams questions examples

Exams questions examples Exams questions examples 1 Exam example 1. y - x what נק' ( לפניך הפעולה הרקורסיבית מקבלת כפרמטרים שני מספרים שלמים ו 10 )? מה יהיה הפלט כתוצאה מזימון הפעולה what public static int what(int x, int y) if(x

More information

2. (לדוגמא: יחידת הספריה (my_unit.c. #include "my_unit.c" היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב

2. (לדוגמא: יחידת הספריה (my_unit.c. #include my_unit.c היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב 3. יחידת ספריה ופרויקט C ב- יחידת הלימוד "עיצוב תוכנה" עוסקת בנושא הפיתוח והעיצוב של מערכות. חלק מעקרונות הפיתוח הם: תכנון מהפרט אל הכלל, חלוקה למודולים ועבודת צוותים על פי ממשקים ברורים. מערכת אחת יכולה

More information

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen מבוא לתכנות בשפת C מצביעים והקצאה דינאמית כתובות של משתנים לכל משתנה כתובת של המקום שלו בזיכרון כבר ראינו: שם של מערך הוא למעשה הכתובת של התא הראשון )באינדקס 0( של המערך להזכירכם: תא של מערך הינו משתנה

More information

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1 קורס תכנות שיעור תשיעי: רשימות מקושרות 1 הקצאה דינאמית של מערכים דו-ממדיים )לפחות( שלוש גישות אפשריות:.1 מערך של מערכים מצביעים לתוך מערך "גדול".2 3. מצביע יחיד למערך גדול 2 The Interface 3 (Simple) Usage

More information

מבני נתונים תכנות מונחה עצמים מבני נתונים. מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers ADT מערך דינמי מחסנית

מבני נתונים תכנות מונחה עצמים מבני נתונים. מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers ADT מערך דינמי מחסנית מבני נתונים 1 תכנות מונחה עצמים מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers מבני נתונים ADT מערך דינמי מחסנית 2 1 מבני נתונים תור - Queue Iterators רשימות מקושרות "רגילות" 3 מבנה נתונים

More information

שאלה 1 מהו הפלט של התוכנית הבאה:

שאלה 1 מהו הפלט של התוכנית הבאה: תרגול חזרה שאלה 1 מהו הפלט של התוכנית הבאה: public sttic int wht(int n) { int i; int sum=0; if(n == 0) return 1; for (i=0; i

More information

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים מבוא למדעי המחשב הרצאה 2: עצי חיפוש בינאריים תזכורת: עץבינארי בנוסףלרשימהמקושרת ומערך, הצגנומבנהנתונים קונקרטיחדש עץבינארי עץבינארימורכבמ: שורש תת-עץשמאלי תת-עץימני A B C D E F G 2 תזכורת: שורש ותתי-עצים

More information

Amortized Analysis, Union-Find,

Amortized Analysis, Union-Find, Practical Session No. 13 Amortized Analysis, Union-Find, AMORTIZED ANALYSIS Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 מערכים שעור מס. 4 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 למה מערכים? ברצוננו לאחסן בתוכנית ציוני בחינה כדי לחשב את ממוצע הציונים וסטיית התקן. נניח ש 30 סטודנטים לקחו

More information

Algorithms. Intro2CS week 5

Algorithms. Intro2CS week 5 Algorithms Intro2CS week 5 1 Computational problems A computational problem specifies an inputoutput relationship What does the input look like? What should the output be for each input? Example: Input:

More information

ASP.Net Web API.

ASP.Net Web API. ASP.Net Web API 1 מה זה? Web API View בלבד ולא Data אותו מממש השרת והוא מחזיר לקליינט API הוא Web API הבקשה והתשובה הן בפרוטוקול Http\Https הקליינטים של Web API יכולים להיות רבים : אפשר להשתמש גם בMVC

More information

מבוא למדעי המחשב תרגול 13: עצים בינאריים

מבוא למדעי המחשב תרגול 13: עצים בינאריים מבוא למדעי המחשב תרגול 13: עצים בינאריים עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק (בלי צמתים) או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם תרגיל 1 עץ בינארי מסודר

More information

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 משתנים שעור מס. 2 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 תפקיד המשתנים הצהרה על משתנה השמת ערך במשתנה int a, b, c; a = 1234; b = 99; c = a + b; משתנים מאפשרים לנו לשמור

More information

מבוא למדעי המחשב 2018 תרגול 7

מבוא למדעי המחשב 2018 תרגול 7 מבוא למדעי המחשב 2018 תרגול 7 רשימות משורשרות, רקורסיית זנב 1 ראינו בהרצאה רשימות משורשרות רקורסיית זנב 2 בתרגול היום רשימות משורשרות עוד שיטות מחלקה רקורסיית זנב היפוך מחרוזות, חיפוש בינארי 3 רשימות משורשרות

More information

הנכות 1 םוכיס לוגרת 14 1

הנכות 1 םוכיס לוגרת 14 1 תוכנה 1 סיכום תרגול 14 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> } נושאי התרגול: מה הן פונקציות הגדרת פונקציה,קריאה לפונקציה העברת ארגומנטים,החזרת ערך או void העברת משתנים פרימיטיביים ומערכים לפונקציה העמסה של פונקציות תרגול 4 פונקציות מוטיבציה לעיתים,אנו נזקקים לבצע

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 >>g = [89 91 80 98]; >>p

More information

תרגול 7 רשימות משורשרות, רקורסיית

תרגול 7 רשימות משורשרות, רקורסיית מבוא למדעי המחשב 2018 תרגול 7 רשימות משורשרות, רקורסיית זנב 1 ראינו בהרצאה רשימות משורשרות רקורסיית זנב 2 בתרגול היום רשימות משורשרות עוד שיטות מחלקה רקורסיית זנב היפוך מחרוזות, חיפוש בינארי 3 רשימות משורשרות

More information

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes תוכנה 1 תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes class Outer { static class NestedButNotInner {... class Inner {... מחלקות מקוננות NESTED CLASSES 2 מחלקה מקוננת Class) )Nested

More information

חוברת תרגילים לתרגול יסודות התכנות

חוברת תרגילים לתרגול יסודות התכנות פעולות קלט ופלט חוברת תרגילים לתרגול יסודות התכנות קלוט 3 מספרים. סכם אותם, הצג את שלושתם ואת תוצאת הסיכום. int num1, num2, num3,sum; Console.WriteLine("please enter 3 numbers"); num1 = int.parse(console.readline());

More information

Practical Session - Heap

Practical Session - Heap Practical Session - Heap Heap Heap Maximum-Heap Minimum-Heap Heap-Array A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point). For each node

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 23427 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 203 Based on slides of Dr. Eran Eden, Weizmann 2008 ביטויים לוגיים דוגמא: תקינות

More information

Name Return type Argument list. Then the new method is said to override the old one. So, what is the objective of subclass?

Name Return type Argument list. Then the new method is said to override the old one. So, what is the objective of subclass? 1. Overriding Methods A subclass can modify behavior inherited from a parent class. A subclass can create a method with different functionality than the parent s method but with the same: Name Return type

More information

Programming Language Concepts: Lecture 2

Programming Language Concepts: Lecture 2 Programming Language Concepts: Lecture 2 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2011 PLC 2011, Lecture 2, 6 January 2011 Classes and

More information

Handout 7. Defining Classes part 1. Instance variables and instance methods.

Handout 7. Defining Classes part 1. Instance variables and instance methods. Handout 7 CS180 Programming Fundamentals Spring 15 Page 1 of 8 Handout 7 Defining Classes part 1. Instance variables and instance methods. In Object Oriented programming, applications are comprised from

More information

CSC 172 Intermediate Progamming

CSC 172 Intermediate Progamming CSC 172 Intermediate Progamming Lecture 2 A Review of Programming With Classes What Is A Class? A class is similar to a data type, except that the data items that it contains, the data types of which they

More information

Practical Session No. 14 Topological sort,amortized Analysis

Practical Session No. 14 Topological sort,amortized Analysis Practical Session No. 14 Topological sort,amortized Analysis Topological- Sort Topological sort Ordering of vertices in a directed acyclic graph (DAG) G=(V,E) such that if there is a path from v to u in

More information

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp) הנחיות כלליות: תאריך הבוחן: 10.5.2018 שם המרצה: מני אדלר,מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' משך הבוחן: 2

More information

תוכנה 1 סמסטר א' תשע"א

תוכנה 1 סמסטר א' תשעא General Tips on Programming תוכנה 1 סמסטר א' תשע"א תרגול מס' 6 מנשקים, דיאגרמות וביטים * רובי בוים ומתי שמרת Write your code modularly top-down approach Compile + test functionality on the fly Start with

More information

Programming Language Concepts: Lecture 2

Programming Language Concepts: Lecture 2 Programming Language Concepts: Lecture 2 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 2, 19 January 2009 Classes and

More information

CMSC 132, Object-Oriented Programming II Summer Lecture 5:

CMSC 132, Object-Oriented Programming II Summer Lecture 5: CMSC 132, Object-Oriented Programming II Summer 2018 Lecturer: Anwar Mamat Lecture 5: Disclaimer: These notes may be distributed outside this class only with the permission of the Instructor. 5.1 Comparable

More information

רזח יליגרתו םי יראני ב ם

רזח יליגרתו םי יראני ב ם מבוא למדעי המחשב עצים בינאריים ותרגילי חזרה תרגול 13: עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק )בלי צמתים( או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם שאלה עץ בינארי

More information

קורס תכנות שיעור שישי: מחרוזות, מצביעים

קורס תכנות שיעור שישי: מחרוזות, מצביעים קורס תכנות שיעור שישי: מחרוזות, מצביעים מערכים אוסף סדור של משתנים מאותו סוג המשתנים נמצאים ברצף בזיכרון העברת מערך לפונקציה Define רקורסיה במערך מערכים דו מימדיים 2 מחרוזות מהי מחרוזת? רצף של תוים ייצוג

More information

- MEAN Stack חזרה. MongoDB - as the database Express - as the web framework AngularJS - as the frontend framework NodeJS- as the server platform

- MEAN Stack חזרה. MongoDB - as the database Express - as the web framework AngularJS - as the frontend framework NodeJS- as the server platform הדר פיקאלי תשע"ו - 2016 - MEAN Stack חזרה בניית web applications כרוכה בשימוש בטכנולוגיות וכלים שונים, להתמודדות עם: מסד נתונים, פעולות בצד השרת, טיפול בצד הלקוח והצגה של הנתונים. מהו?MEAN "MEAN is a fullstack

More information

אוניברסיטת בן-גוריון בהצלחה! מספר נבחן: מדור בחינות רשמו תשובותיכם בשאלון זה בלבד ובמקום המוקצה לכך בלבד! תשובות מחוץ לשאלון לא יבדקו.

אוניברסיטת בן-גוריון בהצלחה! מספר נבחן: מדור בחינות רשמו תשובותיכם בשאלון זה בלבד ובמקום המוקצה לכך בלבד! תשובות מחוץ לשאלון לא יבדקו. אוניברסיטת בןגוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בשאלון זה בלבד ובמקום המוקצה לכך בלבד! תשובות מחוץ לשאלון לא יבדקו. תאריך הבחינה: 13.7.2008 שם המורה: ד"ר מיכאל אלחדד ניר צחר אוריאל ברגיג שם הקורס:

More information

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כה תשרי תשעח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א' אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : א' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

More information

Objects and Classes. Objects and Classes

Objects and Classes. Objects and Classes Objects and Classes Wolfgang Schreiner Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria Wolfgang.Schreiner@risc.jku.at http://www.risc.jku.at Wolfgang Schreiner

More information

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2 מבוא למדעי המחשב תירגול 2: לולאות, קלט, וטיפוסים 1 תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char 2 לולאת while 3 לולאת while קטע קוד מתבצע שוב ושוב כל עוד תנאי מתקיים int number = 40; while(number>0)

More information

מבוא לתכנות ב- JAVA תרגול 6

מבוא לתכנות ב- JAVA תרגול 6 מבוא לתכנות ב- JAVA תרגול 6 מה בתרגול )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מבוא לפונקציות- שימוש חוזר בקוד נניח שבמהלך תוכנית נדרשתם לחשב את הסכום של המספרים

More information

Object-Oriented Programming Concepts

Object-Oriented Programming Concepts Object-Oriented Programming Concepts Object-oriented programming מונחה עצמים) (תכנות involves programming using objects An object ) represents (עצם an entity in the real world that can be distinctly identified

More information

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C בשיעור הקודם למדנו על רקורסיה פתרנו את בעיית מגדלי הנוי בעזרת רקורסיה כלומר בעזרת פונקציה שקוראת לעצמה. רקורסיה מאפשרת לנו לפתור בעיה "גדולה" בעזרת פתרון של בעיות "קטנות" המרכיבות אותה. קורס תכנות שיעור

More information

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf(bla\n); 8. return 0; 9. } שאלה : (4 נקודות) א. ב. ג. (5 נקודות) הגדירו את המונח race-condition במדוייק לא להשמיט פרטים. ספקו דוגמא. (5 נקודות) מהו? Monitor נא לספק הגדרה מלאה. ( נקודות) ( נקודות) ציינו כמה תהליכים יווצרו בקוד הבא

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 motivation Proper academic

More information

גיליון תשובות מספר נבחן:

גיליון תשובות מספר נבחן: גיליון תשובות מספר נבחן: 30( שאלה 1 נקודות( א. ב. התכונה הנשמרת מתייחסת אך ורק למיקום המכוניות בצומת, כלומר למיקום המכוניות בשדה _cars הגישה לשדה זה מסונכרנת, אך מצד שני אין בדיקה של מיקום המכונית טרם

More information

מבוא למדעי המחשב תירגול 3:

מבוא למדעי המחשב תירגול 3: מבוא למדעי המחשב תירגול 3: לולאות, קלט, וטיפוסים תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char מבוא למדעי המחשב מ' - תירגול 3 2 לולאת while מבוא למדעי המחשב מ' - תירגול 3 3 לולאת while

More information

סטודנטים יקרים הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי.

סטודנטים יקרים הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי. סטודנטים יקרים לפניכם ספר תרגילים בקורס ארגון ותכנות המחשב (שפת אסמבלי). הספר הוא חלק מפרויקט חדשני וראשון מסוגו בארץ במקצוע זה, המועבר ברשת האינטרנט.On-line הקורס באתר כולל פתרונות מלאים לספר התרגילים.

More information

מבוא לתכנות ב- JAVA מעבדה 4

מבוא לתכנות ב- JAVA מעבדה 4 מבוא לתכנות ב- JAVA מעבדה 4 מה בתרגול מערכים מחרוזות מערך חד מימדי מערך הוא מבנה המחזיק סדרה של איברים מאותו טיפוס גודל המערך הוא קבוע )נקבע בעת יצירת המערך( הגישה לכל איבר היא באמצעות אינדקס למה לי מערך?

More information

דף הדרכה ליצירת שרת/ לקוח עם GUI

דף הדרכה ליצירת שרת/ לקוח עם GUI דף הדרכה ליצירת שרת/ לקוח עם GUI בשיעורים הקודמים למדנו כיצד ליצור שרת לקוח פשוט, ויצירת טופס המכיל פקדים כלומר יצירת GUI למשתמש, בשיעור זה נרצה להראות את הדרך לשילוב בין השניים כלומר ליצור לקוח client

More information

רשימות דילוגים Skip Lists

רשימות דילוגים Skip Lists Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the

More information

תרגול 6 רקורסיה ותכנות מונחה עצמים

תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 2017 תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 1 ראינו בהרצאה רקורסיה תכנות מונחה עצמים: מחלקה ואובייקט שדות, בנאים ושיטות מימוש מערך דינאמי של ראשוניים בתרגול היום רקורסיה הדפסת

More information

שאלה 1, סעיף ב )11 נק'(

שאלה 1, סעיף ב )11 נק'( שאלה 1, סעיף א )8 נק'( public static boolean lexlt(string s1, String s2) for (int i=0; i

More information

תרשים המחלקות ותרשים העצמים

תרשים המחלקות ותרשים העצמים 1 תרשים המחלקות ותרשים העצמים חלק שלישי: ניתוח ועיצוב מערכות מידע באמצעות שימוש ב- UML ומתודולוגיית ה- Process )UP( Unified E1 3 E2 2 Outline UML Introduction Class Diagram Class Association Self association

More information

הוראות לנבחן גמר לבתי ספר לטכנאים ולהנדסאים סמל השאלון: תכנות מערכות ושפת סף ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד.

הוראות לנבחן גמר לבתי ספר לטכנאים ולהנדסאים סמל השאלון: תכנות מערכות ושפת סף ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד. גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשס"ז, 2007 מועד הבחינה: משרד החינוך 714001 סמל השאלון: תכנות מערכות ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח ההערכה:

More information

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** *******************************

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** ******************************* דוגמה 1: public class Hello { 2: public static void main(string[] args) { 3: System.out.println("*******************************"); 4: System.out.println("*******Welcome to Java!********"); 5: System.out.println("*******************************");

More information

תרגול מספר 3: מערכים

תרגול מספר 3: מערכים היום בתרגול:.1.2 תרגול מספר 3: מערכים מערך חד-מימדי: מה זה מערך ולמה צריך אותו? איך מגדירים? איך זה נראה בזכרון? דוגמאות לשימוש במערך חד-מימדי השוואה בין משתנה פרימיטיבי למשתנה שאינו פרימיטיבי מערך דו-מימדי:

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב שירותים במנשק הם תמיד

More information

Computer Programming A תרגול 9

Computer Programming A תרגול 9 Computer Programming A תרגול 9 1 מטרת התרגול הקצאת זיכרון מבנים רשימות דינאמית ניהול הזיכרון בתוכנית עד כה כל המשתנים שראינו היו לוקאליים. משך הקיום של משתנים מקומיים הוא הזמן אשר הפונקציה בה הם נמצאים

More information

Engineering Programming A

Engineering Programming A Engineering Programming A תרגול 5 25.11.2012 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1]

More information

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 3.5.5, 3.7 (5 th ed.) Many slides adapted from: J. Kurose

More information

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור &

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור & כתובות בזיכרון קורס תכנות int x = 10; char c = a ; 10 784658 'a' 26537 שם x כתובת 784658 שיעור שביעי: מבנים, הקצאת זיכרון דינאמית 26537 c 1 הגדרת מצביע variable( )pointer כתובות בזכרון האופרטור & מחזיר

More information

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: שאלות חזרה למבחן. חשוב: אין להסיק ששאלות אחרות לא יכולות להישאל במבחן, אין להסיק כי נושאים מסויימים בסיליבוס

More information

הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים

הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשע"ב, 2012 מועד הבחינה: משרד החינוך 714001 סמל השאלון: תכנות מערכות בשפת C ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר

More information

פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה

פתרון מוצע לבחינה בשפת C של מהט מועד אביב תשעז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה שאלה מספר 1 נתונה התכנית הבאה בשפת C: #include #define SUM_OF_3(x,y,z) x+y+z #define AVRG_OF_3(x,y,z)

More information

קורס תכנות שיעור שני: שימוש במשתנים,

קורס תכנות שיעור שני: שימוש במשתנים, קורס תכנות שיעור שני: שימוש במשתנים, בקרת זרימה, לולאות 1 נושאי השיעור היום משתנים )variables( טיפוסי משתנים בשפת C הגדרת משתנים השמה למשתנים פעולות על משתנים קליטת ערכים מהמשתמש הדפסה משתנים בקרת זרימה

More information

תוך כדי ריצה יכולה לבוא אירוע שמפסיק את מהלך הריצה )או באופן לא רצוני כגון שיחה נכנסת או באופן רצוני על ידי זימון )pauseapp()

תוך כדי ריצה יכולה לבוא אירוע שמפסיק את מהלך הריצה )או באופן לא רצוני כגון שיחה נכנסת או באופן רצוני על ידי זימון )pauseapp() בואו נכיר את ה- Midlet מחזור החיים של ה- Midlet במהלך חיי ה- Midlet הוא נמצא ב- 3 מצבים. מצב ריצה שמזמן את הפעולה StartApp() תוך כדי ריצה יכולה לבוא אירוע שמפסיק את מהלך הריצה )או באופן לא רצוני כגון שיחה

More information

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה רשימה מקושרת רשימה היא אוסף סדור של ערכים פעולות רשימה לעומת מערך קורס תכנות שיעור עשירי: מיונים, חיפושים, קצת ניתוח זמני ריצה, קצת תיקון טעויות ועוד על רשימות 3 5 7 9 typedef struct node int data; struct

More information

ד"ר אחיה אליסף מר בני לוטטי פרופ' אנדרי שרף הנדסת תוכנה

דר אחיה אליסף מר בני לוטטי פרופ' אנדרי שרף הנדסת תוכנה אוניברסיטת בן-גוריון מדור בחינות מספר נבחן: רשמו תשובותיכם בגיליון התשובות בלבד, תשובות מחוץ לגיליון לא יבדקו. שימו לב: על תשובות ריקות יינתן 20% מהניקוד! בהצלחה! תאריך הבחינה : 13.2.2017 שם המורה : ד"ר

More information

CS141 Programming Assignment #4

CS141 Programming Assignment #4 CS141 Programming Assignment #4 Due Sunday, Mar 3rd. 1) Create a class called Invoice that a hardware store might use to represent an invoice for an item sold at the store. An Invoice should include four

More information

מבוא למדעי המחשב תרגול 12 מחסנית )Stack( memoization

מבוא למדעי המחשב תרגול 12 מחסנית )Stack( memoization מבוא למדעי המחשב 2017 תרגול 12 מחסנית )Stack( memoization בתרגול היום מחסנית בדיקת איזון סוגריים בביטוי אריתמטי משולש Pascal לא רקורסיבי memoization דוגמאות שימוש: בעיית העודף תזכורת: מחסנית :)stack( מבנה

More information

מבוא לתכנות ב- JAVA מעבדה 2

מבוא לתכנות ב- JAVA מעבדה 2 מבוא לתכנות ב- JAVA מעבדה 2 מה בתרגול טיפוסים פרימיטיביים המרות טיפוסים אופרטורים יחסיים ולוגיים משפט if-else בתרגול הקודם טיפוסים פרימיטביים לייצוג מספרים שלמים וממשיים ואופרטורים לפעולות בין מספרים.1

More information

Sort it out. Use the Comparable and Comparator interfaces to sort data in Java. How sorting works. By Alex Blewitt, JavaWorld.

Sort it out. Use the Comparable and Comparator interfaces to sort data in Java. How sorting works. By Alex Blewitt, JavaWorld. Sponsored by: This story appeared on JavaWorld at http://www.javaworld.com/javaworld/jw-12-2002/jw-1227-sort.html Sort it out Use the Comparable and Comparator interfaces to sort data in Java By Alex Blewitt,

More information

גרסאות AV נתמכות ב Juniper ואופן ביצוע עדכון חתימות

גרסאות AV נתמכות ב Juniper ואופן ביצוע עדכון חתימות גרסאות AV נתמכות ב Juniper ואופן ביצוע עדכון חתימות Avast AVG Avira F-Secure Kaspersky McAfee NOD32 Norton Anti-Virus Symantec Anti-Virus Trend Micro Zone Alarm -1 - חזרה לתחילת המסמך Avast Antivirus Avast!

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 רקורסיה - הקדמה הגדרה רקורסיבית: חדר הוא מסודר אם צד שמאל שלו מסודר שלו מסודר. וצד ימין שיטת פתרון רקורסיבית: פתרון מופעים פשוטים יותר של בעיה בכדי לפתור את הבעיה המקורית רקורסיה

More information

9. טופס הזמנת מוצרים טופס ההזמנה הוא טופס מורכב. מעורבים בו 4 טבלאות נתונים. קשרי הגומלין בין הטבלאות : הטופס :

9. טופס הזמנת מוצרים טופס ההזמנה הוא טופס מורכב. מעורבים בו 4 טבלאות נתונים. קשרי הגומלין בין הטבלאות : הטופס : 9. טופס הזמנת מוצרים טופס ההזמנה הוא טופס מורכב. מעורבים בו 4 טבלאות נתונים. קשרי הגומלין בין הטבלאות : הטופס : 1 בהרצה : הוספת פריט רשימת פריטים ההכנה לעבודה : 1. להוסיף שתי טבלאות למאגר טבלת orders וטבלת.orderDetail

More information

מבוא למדעי המחשב תרגול 5: לולאות ומערכים

מבוא למדעי המחשב תרגול 5: לולאות ומערכים מבוא למדעי המחשב תרגול 5: לולאות ומערכים תוכנייה לולאת while, do while, for מערכים מערכים דו ממדיים 2 לולאות 3 תזכורת: לולאת while גוף הלולאה מתבצע שוב ושוב כל עוד התנאי מתקיים int number; scanf( %d, &number);

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים

More information

גירסה

גירסה גירסה 1.00 29.02.2004 לולאות בשפת C מסמך זה הורד מהאתר.http://underwar.livedns.co.il אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש

More information

141214 20219031 1 Object-Oriented Programming concepts Object-oriented programming ( תכנות מונחה עצמים ) involves programming using objects An object ) (עצם represents an entity in the real world that

More information

גיליון תשובות מספר נבחן: סעיף ג (10 נקודות) הגדרת בטיחות הינה שמירה על האינווריאנטה של האובייקטים במהלך ההרצה.

גיליון תשובות מספר נבחן: סעיף ג (10 נקודות) הגדרת בטיחות הינה שמירה על האינווריאנטה של האובייקטים במהלך ההרצה. גיליון תשובות מספר נבחן: (30 נקודות) שאלה 1 סעיף א (15 נקודות) remove() המתודה remove() גם משנה את מצב האובייקט,(command) וגם מחזירה ערך.(query) על פי עקרונות העיצוב שלמדנו בכיתה יש להפריד שאילתות מפקודות.

More information

Operating Systems. Practical Session 4 Threads

Operating Systems. Practical Session 4 Threads Operating Systems Practical Session 4 Threads 1 Threads Executed within a process. Allow multiple independent executions under the same process (container). Possible states: running, ready, blocked, terminated.

More information

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C מבוא למדעי המחשב צעדים הרצאה 2: ראשונים בשפת C מבוסס על שקפים שנערכו ע"י שי ארצי, גיתית רוקנשטיין ז"ל, איתן אביאור, סאהר אסמיר,מיכאל אלעד, רון קימל ודן רביב. עדכון אחרון: יחיאל קמחי, אוקטובר 2014 תוכנייה

More information

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב Today Static vs. Dynamic binding Equals / hashcode String Immutability (maybe) 2 Static versus run-time

More information

היצביט ומ - ןוכית ת וי נבת

היצביט ומ - ןוכית ת וי נבת תבני ו ת תיכון Patterns) (Design תבנ יו ת תיכון - מו טיבציה בחיי היום יום אנחנו מתארים דברים תוך שימוש בתבניות חוזרות: "מכונית א' היא כמו מכונית ב', אבל יש לה 2 דלתות במקום 4" "אני רוצה ארון כמו זה, אבל

More information

Practical Session 2 Constants Don t Matter!!!

Practical Session 2 Constants Don t Matter!!! Practical Sessio 2 Costats Do t Matter!!! Algorithm Aalysis f() = O(g()) Big O f() = Ω(g()) Big Omega There exist c > 0 ad 0 > 0 such that: 0 f() cg() for each 0 There exist c > 0 ad 0 > 0 such that: 0

More information

שאלות חזרה 2 האוניברסיטה החליטה לפרסם שמות הסטודנטים המצטיינים בקורס שלנו. סטודנט מצטיין הוא סטודנט שקיבל

שאלות חזרה 2 האוניברסיטה החליטה לפרסם שמות הסטודנטים המצטיינים בקורס שלנו. סטודנט מצטיין הוא סטודנט שקיבל שאלות חזרה שאלה - 3 קבצים נתונים שני קבצים: ) קובץ נתוני הסטודנטים של הקורס שלנו, כל שורה בקובץ מכילה את הפרטים הבאים: תווים - שם הסטודנט - תווים - כתובת - 9 ספרות - מספר ת.ז. - 3 ספרות - קוד מחלקה - 3

More information

10/22/2018 Programming Data Structures

10/22/2018 Programming Data Structures 10/22/2018 Programming Data Structures Quiz 2 on Wednesday, Oct. 24! Assignment14 Quiz Content Recursion 1 Assignment14 public static int readlines(string filename) throws FileNotFoundException { FileInputStream

More information

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן. מספר : 804042 שם המרצה: תאריך הבחינה: ד"ר גדעון גרדוול, ד"ר אריאלה ריכרדסון 13/02/2013 משך הבחינה )בדקות(: 150 חומר עזר מותר לשימוש: ללא חומר עזר מחשבון: ללא מחשבון מס' תלמיד: מכון: לב/נוה, טל, טל-דעת,

More information

Introduction to Programming in C תרגול 8

Introduction to Programming in C תרגול 8 Introduction to Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאה דינמית מבנים תאור הזיכרון של המחשב: מצביעים ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבנה זכרון ושפת ++C קוד הקורס: 7027810 תאריך בחינה: שאלות לדוגמא משך הבחינה: שעתיים שם המרצים: ד"ר אופיר פלא, ד"ר מירי בן ניסן חומר עזר: פתוח שימוש במחשבון:

More information

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5 מבוא לתכנות ב- JAVA תרגול 5 Ipc161- practical session 5 מה בתרגול מערכים דו ממדיים )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מערך דו ממדי מערך של מערכים חד ממדיים

More information

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization מערכים תוכנה 1 Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 תרגול 2: מערכים

More information